
package com.idealighter.game.dictionary.domwrapper;

import com.idealighter.game.dictionary.domain.ZhajinhuaRoomDomain;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;

/**
 * ZhajinhuaRoomDomWrapper.
 *
 */
public class ZhajinhuaRoomDomWrapper extends ZhajinhuaRoomDomain {

  private final ZhajinhuaRoomDomain dom;
  private final Set<Long> abledChips = new HashSet<>();
  private final TreeSet<Long> darkChips = new TreeSet<>();
  private final TreeSet<Long> brightChips = new TreeSet<>();

  /**
   * 构造函数.
   * 
   * @param dom .
   */
  public ZhajinhuaRoomDomWrapper(ZhajinhuaRoomDomain dom) {
    super();
    this.dom = dom;

    darkChips.add((long) getChip1());
    darkChips.add((long) getChip2());
    darkChips.add((long) getChip3());

    abledChips.addAll(darkChips);

    for (long chip : darkChips) {
      // abledChips.add(chip);
      abledChips.add(chip * 2);
      abledChips.add(chip * 4);

      brightChips.add(chip * 2);
    }

  }

  public Set<Long> getAbledChips() {
    return abledChips;
  }

  @Override
  public int getId() {
    return dom.getId();
  }

  @Override
  public void setId(int id) {
    dom.setId(id);
  }

  @Override
  public String getName() {
    return dom.getName();
  }

  @Override
  public void setName(String name) {
    dom.setName(name);
  }

  @Override
  public int getType() {
    return dom.getType();
  }

  @Override
  public void setType(int type) {
    dom.setType(type);
  }

  @Override
  public int getMaxNum() {
    return dom.getMaxNum();
  }

  @Override
  public void setMaxNum(int maxNum) {
    dom.setMaxNum(maxNum);
  }

  @Override
  public int getFree() {
    return dom.getFree();
  }

  @Override
  public void setFree(int free) {
    dom.setFree(free);
  }

  @Override
  public int getGeneral() {
    return dom.getGeneral();
  }

  @Override
  public void setGeneral(int general) {
    dom.setGeneral(general);
  }

  @Override
  public int getCrowded() {
    return dom.getCrowded();
  }

  @Override
  public void setCrowded(int crowded) {
    dom.setCrowded(crowded);
  }

  @Override
  public int getLower() {
    return dom.getLower();
  }

  @Override
  public void setLower(int lower) {
    dom.setLower(lower);
  }

  @Override
  public int getUpper() {
    return dom.getUpper();
  }

  @Override
  public void setUpper(int upper) {
    dom.setUpper(upper);
  }

  @Override
  public int getOrdinarPeople() {
    return dom.getOrdinarPeople();
  }

  @Override
  public void setOrdinarPeople(int ordinarPeople) {
    dom.setOrdinarPeople(ordinarPeople);
  }

  @Override
  public int getProportionGold() {
    return dom.getProportionGold();
  }

  @Override
  public void setProportionGold(int proportionGold) {
    dom.setProportionGold(proportionGold);
  }

  @Override
  public int getProportionChips() {
    return dom.getProportionChips();
  }

  @Override
  public void setProportionChips(int proportionChips) {
    dom.setProportionChips(proportionChips);
  }


  @Override
  public int getTableNum() {
    return dom.getTableNum();
  }

  @Override
  public void setTableNum(int tableNum) {
    dom.setTableNum(tableNum);
  }

  @Override
  public int getChair() {
    return dom.getChair();
  }

  @Override
  public void setChair(int chair) {
    dom.setChair(chair);
  }

  @Override
  public int getMinOne() {
    return dom.getMinOne();
  }

  @Override
  public void setMinOne(int minOne) {
    dom.setMinOne(minOne);
  }

  @Override
  public int getMaxOne() {
    return dom.getMaxOne();
  }

  @Override
  public void setMaxOne(int maxOne) {
    dom.setMaxOne(maxOne);
  }

  @Override
  public int getAfee() {
    return dom.getAfee();
  }

  @Override
  public void setAfee(int afee) {
    dom.setAfee(afee);
  }

  @Override
  public int getInType() {
    return dom.getInType();
  }

  @Override
  public void setInType(int inType) {
    dom.setInType(inType);
  }

  @Override
  public int getBase() {
    return dom.getBase();
  }

  @Override
  public void setBase(int base) {
    dom.setBase(base);
  }

  @Override
  public int getTop() {
    return dom.getTop();
  }

  @Override
  public void setTop(int top) {
    dom.setTop(top);
  }

  @Override
  public int getChip1() {
    return dom.getChip1();
  }

  @Override
  public void setChip1(int chip1) {
    dom.setChip1(chip1);
  }

  @Override
  public int getChip2() {
    return dom.getChip2();
  }

  @Override
  public void setChip2(int chip2) {
    dom.setChip2(chip2);
  }

  @Override
  public int getChip3() {
    return dom.getChip3();
  }

  @Override
  public void setChip3(int chip3) {
    dom.setChip3(chip3);
  }

  @Override
  public String getDisplays() {
    return dom.getDisplays();
  }

  @Override
  public void setDisplays(String displays) {
    dom.setDisplays(displays);
  }

  @Override
  public String getPlaceHolder() {
    return dom.getPlaceHolder();
  }

  @Override
  public void setPlaceHolder(String placeHolder) {
    dom.setPlaceHolder(placeHolder);
  }

  @Override
  public byte getIsActive() {
    return dom.getIsActive();
  }

  @Override
  public void setIsActive(byte isActive) {
    dom.setIsActive(isActive);
  }

  @Override
  public Date getTimeCreate() {
    return dom.getTimeCreate();
  }

  @Override
  public void setTimeCreate(Date timeCreate) {
    dom.setTimeCreate(timeCreate);
  }

  @Override
  public Date getTimeOpen() {
    return dom.getTimeOpen();
  }

  @Override
  public void setTimeOpen(Date timeOpen) {
    dom.setTimeOpen(timeOpen);
  }

  public TreeSet<Long> getDarkChips() {
    return darkChips;
  }

  public TreeSet<Long> getBrightChips() {
    return brightChips;
  }

}
